The conventional method of providing secure communication over a channel uses cryptography. Cryptography relies on the existence of codes that are “hard to break”: that is, one-way functions that are believed to be computationally infeasible to invert. Therefore, cryptography is vulnerable to an increase in computing power or the development of more efficient attacks. Furthermore, the assumptions about the hardness of certain one-way functions have not been proven mathematically, so cryptography is vulnerable if these assumptions are incorrect.
Another weakness of cryptography is the lack of no precise metrics or absolute comparisons between various cryptographic algorithms, showing the trade off between reliability and security as a function of the block length of plaintext and ciphertext messages. Instead, a particular cryptographic algorithm is considered “secure” if it survives a defined set of attacks, or “insecure” if it does not.
Cryptography as applied to some media (e.g., wireless networks) also requires a trusted third party as well as complex protocols and system architectures. Therefore, a need exists for these and other problems to be addressed.